/**
 * @program: clms-second
 * @description:
 * @author: mitu_echo
 * @create: 2021-07-22 16:39
 **/

package com.second.system.service;

import com.second.common.pojo.R;
import com.second.system.pojo.entity.Menu;

import java.util.List;

public interface MenuService {

    /**
     * 查询用户拥有的菜单
     * @return
     */
    R showUserHasMenu();

    /**
     * 全部的菜单
     * @return
     */
    R showAllMenu();

    /**
     * 查询角色拥有的菜单id
     * @param roleid 角色的id
     * @return
     */
    R showRoleHasMenuId(Integer roleid);

    /**
     * 修改角色拥有的菜单
     * @param menuidList 角色拥有的菜单id集合
     * @param roleid 角色id
     * @return
     */
    R updateRoleHasMenu(List<Integer> menuidList, Integer roleid);

    /**
     * 查询全部的父菜单
     * @return
     */
    R showAllFatherMenu();

    /**
     * 添加菜单
     * @param menu 菜单信息
     * @return
     */
    R addMenu(Menu menu);

    /**
     * 查询全部的菜单，无父子关系
     * @return
     */
    R showMenu();

    /**
     * 删除菜单
     * @param mid 菜单id
     * @return
     */
    R deleteMenuByMenuid(Integer mid);
}
